#include"FuncStruct.h"
#include <math.h>
#include"stdio.h"

int MoveCentre(Info map,int colorN[8])
{
	int i,j;
	int  value;
	int valueSum=0;

		for(i=0;i<map.matrixN;i++)
		{
			for(j=0;j<map.matrixN;j++)
			{
				if(map.clourN==5)
				{
				if(colorN[map.matrixArr[i][j]]==0)
				{	value=i+j;
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==3)
				{value = (map.matrixN-1-i)+(map.matrixN-1-j);
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==1)
				{value = i+(map.matrixN-1-j);
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==2)
				{value = (map.matrixN-1-i)+j;
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==4)
				{
					value = abs((i-map.matrixN/2-1))+abs((j-map.matrixN/2-1));
				valueSum+=value;
				}
				}
				else{
				if(colorN[map.matrixArr[i][j]]==0)
				{	value=i+j;
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==3)
				{value = (map.matrixN-1-i)+(map.matrixN-1-j);
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==1)
				{value = i+(map.matrixN-1-j);
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==2)
				{value = (map.matrixN-1-i)+j;
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==4)
				{value = abs((i-map.matrixN*3/8-1))+abs((j-map.matrixN*3/8-1));
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==5)
				{value = abs((i-map.matrixN*3/8-1))+abs((j-map.matrixN*5/8-1));
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==6)
				{value = abs((i-map.matrixN*5/8-1))+abs((j-map.matrixN*3/8-1));
				valueSum+=value;
				}
				if(colorN[map.matrixArr[i][j]]==7)
				{value = abs((i-map.matrixN*5/8-1))+abs((j-map.matrixN*5/8-1));
				valueSum+=value;
				}
				}
			}
		}

		return valueSum;

}